import { NextResponse } from 'next/server'

// 预设的问答对
const responses: { [key: string]: string } = {
  '如何缓解坐骨神经痛？': '缓解坐骨神经痛的方法包括：\n1. 保持正确的坐姿和站姿\n2. 进行适度的伸展运动\n3. 使用热敷或冷敷\n4. 避免久坐，经常活动\n5. 保持健康的体重\n6. 进行物理治疗\n7. 在医生指导下服用止痛药',
  '坐骨神经痛有哪些锻炼方法？': '推荐的锻炼方法包括：\n1. 猫牛式伸展\n2. 桥式运动\n3. 膝抱式\n4. 鸟狗式\n5. 侧卧抬腿\n6. 温和的瑜伽\n7. 游泳\n\n请注意在专业指导下进行，如果感觉疼痛要立即停止。',
  '坐骨神经痛需要注意什么？': '需要注意以下几点：\n1. 保持正确的姿势\n2. 避免久坐久站\n3. 不要提重物\n4. 保持适度运动\n5. 注意保暖\n6. 避免剧烈运动\n7. 及时就医检查\n8. 保持良好的睡眠姿势',
  '吃什么食物对坐骨神经痛有帮助？': '建议食用以下食物：\n1. 富含 omega-3 的鱼类\n2. 深色蔬菜\n3. 坚果\n4. 全谷物\n5. 水果\n6. 姜黄\n7. 大蒜\n8. 橄榄油\n\n同时要避免：\n- 加工食品\n- 含糖饮料\n- 酒精\n- 咖啡因'
}

// 关键词匹配和回答生成
const generateResponse = (message: string) => {
  // 检查是否有完全匹配的预设回答
  if (responses[message]) {
    return responses[message]
  }

  // 关键词匹配
  const keywords = {
    '疼痛': '对于疼痛问题，建议：\n1. 及时就医检查\n2. 避免剧烈运动\n3. 使用热敷或冷敷\n4. 保持正确姿势\n5. 进行适度伸展\n6. 在医生指导下服用止痛药',
    '锻炼': '关于锻炼建议：\n1. 从轻度运动开始\n2. 注意动作要领\n3. 避免过度运动\n4. 保持规律性\n5. 如有不适及时停止\n6. 建议在专业指导下进行',
    '姿势': '正确的姿势建议：\n1. 保持脊柱自然弯曲\n2. 避免久坐久站\n3. 使用符合人体工学的座椅\n4. 保持颈部自然位置\n5. 经常变换姿势\n6. 注意睡眠姿势',
    '饮食': '饮食建议：\n1. 保持均衡饮食\n2. 多食用抗炎食物\n3. 补充必要的维生素和矿物质\n4. 保持充足的水分摄入\n5. 避免刺激性食物\n6. 控制体重',
    '治疗': '治疗相关建议：\n1. 及时就医诊断\n2. 遵医嘱进行治疗\n3. 结合物理治疗\n4. 保持良好心态\n5. 坚持康复训练\n6. 定期复查'
  }

  // 检查消息中是否包含关键词
  for (const [keyword, response] of Object.entries(keywords)) {
    if (message.includes(keyword)) {
      return response
    }
  }

  // 如果没有匹配的关键词，返回通用回答
  return '我理解您的问题。作为坐骨神经痛助手，我可以为您提供以下方面的建议：\n1. 疼痛缓解方法\n2. 适合的锻炼方式\n3. 正确的姿势指导\n4. 饮食建议\n5. 治疗相关建议\n\n您可以具体询问这些方面的问题，我会为您提供详细的解答。'
}

export async function POST(request: Request) {
  try {
    const { messages } = await request.json()
    const lastMessage = messages[messages.length - 1]
    
    const response = generateResponse(lastMessage.content)
    return NextResponse.json({ message: response })
  } catch (error) {
    console.error('Error:', error)
    return NextResponse.json(
      { error: 'Internal server error' },
      { status: 500 }
    )
  }
} 